#pragma once

///////////////////////////////////////////////////////////////////////////
//																		 //
//	Author:		Michael Mozdzierz										 //
//	Date:		12/18/2014												 //
//	Purpose:	Create an interface that represents all objects that are //
//				controlable by an agent									 //
//																		 //
///////////////////////////////////////////////////////////////////////////

struct Agent;
#include "GameObject.h"

// Base interface for a controlable object
struct ControlableGameObject : public GameObject
{
	virtual ~ControlableGameObject(void) { }

	virtual Agent* getAgent(void) const = 0;

	virtual void setAgent(Agent* value) = 0;
};